Structuring Interactive Correctness Proofs by Formalizing Coding Idioms

نویسنده

  • Holger Gast
چکیده

This paper examines a novel strategy for developing correctness proofs in interactive software verification for C programs. Rather than proceeding backwards from the generated verification conditions, we start by developing a library of the employed data structures and related coding idioms. The application of that library then leads to correctness proofs that reflect informal arguments about the idioms. We apply this strategy to the low-level memory allocator of the L4 microkernel, a case study discussed in the literature. 1998 ACM Subject Classification D.2.4 Software/Program Verification

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

6 th International Workshop on Systems Software Verification

This paper examines a novel strategy for developing correctness proofs in interactive software verification for C programs. Rather than proceeding backwards from the generated verification conditions, we start by developing a library of the employed data structures and related coding idioms. The application of that library then leads to correctness proofs that reflect informal arguments about t...

متن کامل

Formalizing Push-Relabel Algorithms

We present a formalization of push-relabel algorithms for computing the maximum flow in a network. We start with Goldberg’s et al. generic push-relabel algorithm, for which we show correctness and the time complexity bound of O(V E). We then derive the relabel-tofront and FIFO implementation. Using stepwise refinement techniques, we derive an efficient verified implementation. Our formal proof ...

متن کامل

A Fistful of Dollars: Formalizing Asymptotic Complexity Claims via Deductive Program Verification

We present a framework for simultaneously verifying the functional correctness and the worst-case asymptotic time complexity of higher-order imperative programs. We build on top of Separation Logic with Time Credits, embedded in an interactive proof assistant. We formalize the O notation, which is key to enabling modular specifications and proofs. We cover the subtleties of the multivariate cas...

متن کامل

A Formalization of the Turing Test

Alan Turing proposed an interactive test to replace the question \Can machines think?" This test has become known as the Turing Test and its validity for determining intelligence or thinking is still in question. Struggling with the validity of long proofs, program correctness, computational complexity and cryptography, theoreticians developed interactive proof systems. By formalizing the Turin...

متن کامل

Inheritance of Proofs

The Curry-Howard isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit object-oriented structuring mechanisms for veriication, we extend the object-model of Pierce and Turner, based on the higher-ord...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011